﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using HerGoS.Administration.Entities;
using HerGoS.Administration.Engine;
using HerGoS.ControlsUI;

namespace HerGoS.WebUI.Parametrizacion.Geografia
{
    public partial class Provincia_ABM : PageBase
    {

        #region Propiedades

        public Provincia Provincia
        {
            get
            {
                if (ViewState["Provincia"] != null)
                    return (Provincia)ViewState["Provincia"];
                return null;
            }
            set
            {
                ViewState["Provincia"] = value;
            }

        }


        private int PaisId
        {
            get
            {
                if (ViewState["Pais"] != null)
                {
                    return (int)ViewState["Pais"];
                }
                else
                {
                    return 0;
                }
            }
            set { ViewState["Pais"] = value; }
        }

  






        #endregion
        
        protected void Page_Load(object sender, EventArgs e)
        {

            if (!Page.IsPostBack)
            {
                LoadCombos();
                this.lblPais.Text = Request.QueryString["nombrepais"].ToString();
                PaisId = Request.QueryString["idpais"].ToInteger();
                Initialize();

                if (Request.QueryString["id"] == null)
                {
                    Provincia = new Provincia();
                }
                else
                {
                    var Id = Convert.ToInt32(Request.QueryString["id"]);
                    Provincia = GestorProvincia.Obtener(Id);
                    this.txtCodigo.Text = Provincia.Codigo;
                    this.txtNombre.Text = Provincia.Nombre;
                    this.txtNumero.Text = Provincia.Numero.ToString();
                    this.cboZona.SelectedValue = Provincia.Zona == null ? "0" : Convert.ToString(Provincia.Zona.OID);
                }

             }
        }

        void Initialize()
        {
            this.btnGuardar.Settings(new ButtonExtText());
            this.btnCerrar.Settings(new ButtonExtText());
          //ToDO: NO funciona   LoadAutoria(Provincia);
        }

        private void LoadCombos()
        {
            this.cboZona.DataSource = GestorZona.Consultar();
            cboZona.DataTextField = "Nombre";
            cboZona.DataValueField = "OID";
            cboZona.DataBind();
            cboZona.Items.Insert(0, new ListItem("--Ninguno-- ", "0"));
        }
               
        

        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {

                Provincia.Pais = GestorPaises.Obtener(PaisId);
                Provincia.Codigo = txtCodigo.Text;
                Provincia.Nombre = this.txtNombre.Text;
                Provincia.Numero = this.txtNumero.Text.ToInteger();
                Provincia.Zona = GestorZona.Obtener(cboZona.SelectedValue.ToInteger());
                GestorProvincia.Guardar(Provincia);
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "closedialog", "parent.IntervaloCerrarPopup('La provincia ha sido guardada correctamente','ContentPlaceHolder1_btnRefrescarProvincia');", true);
            }
            catch (Exception ex)
            { }
        }


        protected void btnCerrar_Click(object sender, EventArgs e)
        {
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "closedialog", "parent.CerrarPopup();", true);
        }



    }
}